<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SPHinXsys: SPHINXsys/src/shared/materials/elastic_solid.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SPHinXsys
   &#160;<span id="projectnumber">alpha version</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_3dc1dabd28ba78e072d14d3fcfc90454.html">SPHINXsys</a></li><li class="navelem"><a class="el" href="dir_48ea983704c43b6d88c1fa3f4d09e369.html">src</a></li><li class="navelem"><a class="el" href="dir_0a0d9ef1793521534f0094f317758287.html">shared</a></li><li class="navelem"><a class="el" href="dir_536e372c8df10cac250269553cb892e1.html">materials</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">elastic_solid.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="elastic__solid_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* -----------------------------------------------------------------------------*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *                               SPHinXsys                                      *</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * -----------------------------------------------------------------------------*</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * SPHinXsys (pronunciation: s&#39;finksis) is an acronym from Smoothed Particle    *</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Hydrodynamics for industrial compleX systems. It provides C++ APIs for       *</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * physical accurate simulation and aims to model coupled industrial dynamic    *</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * systems including fluid, solid, multi-body dynamics and beyond with SPH      *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * (smoothed particle hydrodynamics), a meshless computational method using     *</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * particle discretization.                                                     *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *                                                                              *</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * SPHinXsys is partially funded by German Research Foundation                  *</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * (Deutsche Forschungsgemeinschaft) DFG HU1527/6-1, HU1527/10-1,               *</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * HU1527/12-1 and HU1527/12-4.                                                 *</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *                                                                              *</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * Portions copyright (c) 2017-2022 Technical University of Munich and          *</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * the authors&#39; affiliations.                                                   *</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *                                                                              *</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may      *</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * not use this file except in compliance with the License. You may obtain a    *</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * copy of the License at http://www.apache.org/licenses/LICENSE-2.0.           *</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> *                                                                              *</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * -----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef ELASTIC_SOLID_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define ELASTIC_SOLID_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="base__material_8h.html">base_material.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;fstream&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_s_p_h.html">SPH</a></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_elastic_solid.html">   44</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_elastic_solid.html">ElasticSolid</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_solid.html">Solid</a></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    {</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        Real E0_;  <span class="comment">/*&lt; Youngs or tensile modules  */</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        Real G0_;  <span class="comment">/*&lt; shear modules  */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        Real K0_;  <span class="comment">/*&lt; bulk modules  */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        Real nu_;  <span class="comment">/*&lt; Poisson ratio  */</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        Real c0_;  <span class="comment">/*&lt; sound wave speed */</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        Real ct0_; <span class="comment">/*&lt; tensile wave speed */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        Real cs0_; <span class="comment">/*&lt; shear wave speed */</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keywordtype">void</span> setSoundSpeeds();</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keyword">explicit</span> <a class="code" href="class_s_p_h_1_1_elastic_solid.html">ElasticSolid</a>(Real rho0)</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;            : <a class="code" href="class_s_p_h_1_1_solid.html">Solid</a>(rho0), c0_(0.0), ct0_(0.0), cs0_(0.0),</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;              E0_(0.0), G0_(0.0), K0_(0.0), nu_(0.0)</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        {</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;            material_type_name_ = <span class="stringliteral">&quot;ElasticSolid&quot;</span>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        };</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="class_s_p_h_1_1_elastic_solid.html">ElasticSolid</a>(){};</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        Real ReferenceSoundSpeed() { <span class="keywordflow">return</span> c0_; };</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        Real TensileWaveSpeed() { <span class="keywordflow">return</span> ct0_; };</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        Real ShearWaveSpeed() { <span class="keywordflow">return</span> cs0_; };</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        Real YoungsModulus() { <span class="keywordflow">return</span> E0_; };</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        Real ShearModulus() { <span class="keywordflow">return</span> G0_; };</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        Real BulkModulus() { <span class="keywordflow">return</span> K0_; };</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        Real PoissonRatio() { <span class="keywordflow">return</span> nu_; };</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_elastic_solid.html#aaa4e4e5f73ddbed1be4fa1c33698308f">StressPK2</a>(Matd &amp;deformation, <span class="keywordtype">size_t</span> particle_index_i) = 0;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_elastic_solid.html#a8f04c5c836faf23e84de387ef40f0bc0">StressCauchy</a>(Matd &amp;almansi_strain, Matd &amp;F, <span class="keywordtype">size_t</span> particle_index_i) = 0;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_elastic_solid.html#accb21f33e51daf04bcb3fd0c5fe3c01e">NumericalDampingRightCauchy</a>(Matd &amp;deformation, Matd &amp;deformation_rate, Real smoothing_length, <span class="keywordtype">size_t</span> particle_index_i);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_elastic_solid.html#ae23c322f4b5f4af0538d8b77d99202e8">NumericalDampingLeftCauchy</a>(Matd &amp;deformation, Matd &amp;deformation_rate, Real smoothing_length, <span class="keywordtype">size_t</span> particle_index_i);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keyword">virtual</span> Real <a class="code" href="class_s_p_h_1_1_elastic_solid.html#ad2d5f7349f50075fead558d3c0e8b997">PairNumericalDamping</a>(Real dE_dt_ij, Real smoothing_length);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_elastic_solid.html#a8e4ba905d17f5a61f65bf6e92845d2dd">DeviatoricKirchhoff</a>(<span class="keyword">const</span> Matd &amp;deviatoric_be);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <span class="keyword">virtual</span> Real <a class="code" href="class_s_p_h_1_1_elastic_solid.html#a0b3702e3b5e6c6e69030597dd8501005">VolumetricKirchhoff</a>(Real J) = 0;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <span class="keyword">virtual</span> std::string <a class="code" href="class_s_p_h_1_1_elastic_solid.html#ab9db331578b68a426d90859a5368d938">getRelevantStressMeasureName</a>() = 0;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_elastic_solid.html">ElasticSolid</a> *ThisObjectPtr()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; };</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    };</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_linear_elastic_solid.html">  101</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html">LinearElasticSolid</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_elastic_solid.html">ElasticSolid</a></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    {</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keyword">explicit</span> <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html">LinearElasticSolid</a>(Real rho0, Real youngs_modulus, Real poisson_ratio);</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html">LinearElasticSolid</a>(){};</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html#a155f8eaf06fb45db1e0894a8493171da">StressPK2</a>(Matd &amp;deformation, <span class="keywordtype">size_t</span> particle_index_i) <span class="keyword">override</span>;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html#a87ebf2605db80b6a326a861684752726">StressCauchy</a>(Matd &amp;almansi_strain, Matd &amp;F, <span class="keywordtype">size_t</span> particle_index_i) <span class="keyword">override</span>;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        <span class="keyword">virtual</span> Real <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html#aa6cf7f21cb5f4843f6b737d7c48fa542">VolumetricKirchhoff</a>(Real J) <span class="keyword">override</span>;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_linear_elastic_solid.html#a5d703f84faaf935522bc7b24e5c21d20">  112</a></span>&#160;        <span class="keyword">virtual</span> std::string <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html#a5d703f84faaf935522bc7b24e5c21d20">getRelevantStressMeasureName</a>()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;PK2&quot;</span>; };</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_linear_elastic_solid.html#ab28e6dc13d6c1652b787586c7b090afa">  115</a></span>&#160;        Real <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html#ab28e6dc13d6c1652b787586c7b090afa">getYoungsModulus</a>() { <span class="keywordflow">return</span> E0_; };</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        Real getPoissonRatio() { <span class="keywordflow">return</span> nu_; };</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        Real getDensity() { <span class="keywordflow">return</span> <a class="code" href="class_s_p_h_1_1_base_material.html#ab44c8bc85d7ee057c68acf3584035a7e">rho0_</a>; };</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        Real lambda0_; <span class="comment">/*&lt; first Lame parameter */</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        Real getBulkModulus(Real youngs_modulus, Real poisson_ratio);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        Real getShearModulus(Real youngs_modulus, Real poisson_ratio);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        Real getLambda(Real youngs_modulus, Real poisson_ratio);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    };</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_neo_hookean_solid.html">  130</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_neo_hookean_solid.html">NeoHookeanSolid</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html">LinearElasticSolid</a></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    {</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        <span class="keyword">explicit</span> <a class="code" href="class_s_p_h_1_1_neo_hookean_solid.html">NeoHookeanSolid</a>(Real rho0, Real youngs_modulus, Real poisson_ratio)</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;            : <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html">LinearElasticSolid</a>(rho0, youngs_modulus, poisson_ratio)</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        {</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;            material_type_name_ = <span class="stringliteral">&quot;NeoHookeanSolid&quot;</span>;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        };</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="class_s_p_h_1_1_neo_hookean_solid.html">NeoHookeanSolid</a>(){};</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_neo_hookean_solid.html#a9d5e9bc2b0df36e209c7b302f16fa364">StressPK2</a>(Matd &amp;deformation, <span class="keywordtype">size_t</span> particle_index_i) <span class="keyword">override</span>;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_neo_hookean_solid.html#abea63eda5de6ca5223c718fd595d06c5">StressCauchy</a>(Matd &amp;almansi_strain, Matd &amp;F, <span class="keywordtype">size_t</span> particle_index_i) <span class="keyword">override</span>;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keyword">virtual</span> Real <a class="code" href="class_s_p_h_1_1_neo_hookean_solid.html#a291009e636aa6d3776c252d1ccda8d86">VolumetricKirchhoff</a>(Real J) <span class="keyword">override</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_neo_hookean_solid.html#a79f6f9a8048d4c5a13876337664970c7">  146</a></span>&#160;        <span class="keyword">virtual</span> std::string <a class="code" href="class_s_p_h_1_1_neo_hookean_solid.html#a79f6f9a8048d4c5a13876337664970c7">getRelevantStressMeasureName</a>()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;Cauchy&quot;</span>; };</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    };</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html">  154</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html">NeoHookeanSolidIncompressible</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html">LinearElasticSolid</a></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    {</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        <a class="code" href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html">NeoHookeanSolidIncompressible</a>(Real rho_0, Real Youngs_modulus, Real poisson)</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;            : <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html">LinearElasticSolid</a>(rho_0, Youngs_modulus, poisson)</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        {</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;            material_type_name_ = <span class="stringliteral">&quot;NeoHookeanSolidIncompressible&quot;</span>;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        };</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html">NeoHookeanSolidIncompressible</a>() {};</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    </div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html#a65d214acc136eaef9b51233b60b5da1c">StressPK2</a>(Matd &amp;deformation, <span class="keywordtype">size_t</span> particle_index_i) <span class="keyword">override</span>;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html#a1537ea6d714ce95ce6c56c41dbc5b2d7">StressCauchy</a>(Matd &amp;almansi_strain, Matd &amp;F, <span class="keywordtype">size_t</span> particle_index_i) <span class="keyword">override</span>;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        <span class="keyword">virtual</span> Real <a class="code" href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html#ace90e7a92223b6b94619049cae838a64">VolumetricKirchhoff</a>(Real J) <span class="keyword">override</span>;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    };</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_orthotropic_solid.html">  179</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_orthotropic_solid.html">OrthotropicSolid</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html">LinearElasticSolid</a></div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    {</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <a class="code" href="class_s_p_h_1_1_orthotropic_solid.html">OrthotropicSolid</a>(Real rho_0, std::array&lt;Vecd, 3&gt; a, std::array&lt;Real, 3&gt; E, std::array&lt;Real, 3&gt; G, std::array&lt;Real, 3&gt; poisson);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_orthotropic_solid.html#a3f966760dbe1a863ac1f1ddf5e17b38d">StressPK2</a>(Matd&amp; deformation, <span class="keywordtype">size_t</span> particle_index_i) <span class="keyword">override</span>;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keyword">virtual</span> Real <a class="code" href="class_s_p_h_1_1_orthotropic_solid.html#a2c752c5df2227b5b34c595dbe576408d">VolumetricKirchhoff</a>(Real J) <span class="keyword">override</span>;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        <span class="comment">// input data</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        std::array&lt;Vecd, 3&gt; a_;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        std::array&lt;Real, 3&gt; E_;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        std::array&lt;Real, 3&gt; G_;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        std::array&lt;Real, 3&gt; poisson_;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <span class="comment">// calculated data</span></div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        Real Mu_[3];</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        Matd Lambda_;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        Matd A_[3];</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> CalculateAllMu();</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> CalculateAllLambda();</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> CalculateA0();</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    };</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_fene_neo_hookean_solid.html">  209</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_fene_neo_hookean_solid.html">FeneNeoHookeanSolid</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html">LinearElasticSolid</a></div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    {</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_fene_neo_hookean_solid.html#a83218f7184a423dfbb4e537a67f1bcb2">  212</a></span>&#160;        Real <a class="code" href="class_s_p_h_1_1_fene_neo_hookean_solid.html#a83218f7184a423dfbb4e537a67f1bcb2">j1_m_</a>; </div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        <span class="keyword">explicit</span> <a class="code" href="class_s_p_h_1_1_fene_neo_hookean_solid.html">FeneNeoHookeanSolid</a>(Real rho0, Real youngs_modulus, Real poisson_ratio)</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;            : <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html">LinearElasticSolid</a>(rho0, youngs_modulus, poisson_ratio), <a class="code" href="class_s_p_h_1_1_fene_neo_hookean_solid.html#a83218f7184a423dfbb4e537a67f1bcb2">j1_m_</a>(1.0)</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;        {</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;            material_type_name_ = <span class="stringliteral">&quot;FeneNeoHookeanSolid&quot;</span>;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        };</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="class_s_p_h_1_1_fene_neo_hookean_solid.html">FeneNeoHookeanSolid</a>() {};</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_fene_neo_hookean_solid.html#ac41ebc4d8aee29cef9289bdaf39c503c">StressPK2</a>(Matd&amp; deformation, <span class="keywordtype">size_t</span> particle_index_i) <span class="keyword">override</span>;</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_fene_neo_hookean_solid.html#af0bb8ed4ef31171a84aa2e33217a9aab">  222</a></span>&#160;        <span class="keyword">virtual</span> std::string <a class="code" href="class_s_p_h_1_1_fene_neo_hookean_solid.html#af0bb8ed4ef31171a84aa2e33217a9aab">getRelevantStressMeasureName</a>()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;Cauchy&quot;</span>; };</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    };</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_muscle.html">  229</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_muscle.html">Muscle</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_neo_hookean_solid.html">NeoHookeanSolid</a></div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    {</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        <span class="keyword">explicit</span> <a class="code" href="class_s_p_h_1_1_muscle.html">Muscle</a>(Real rho0, Real bulk_modulus,</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                        <span class="keyword">const</span> Vecd &amp;f0, <span class="keyword">const</span> Vecd &amp;s0, <span class="keyword">const</span> Real (&amp;a0)[4], <span class="keyword">const</span> Real (&amp;b0)[4])</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;            : <a class="code" href="class_s_p_h_1_1_neo_hookean_solid.html">NeoHookeanSolid</a>(rho0, this-&gt;<a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html#ab28e6dc13d6c1652b787586c7b090afa">getYoungsModulus</a>(bulk_modulus, a0, b0), this-&gt;getPoissonRatio(bulk_modulus, a0, b0)),</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;              f0_(f0), <a class="code" href="class_s_p_h_1_1_muscle.html#aac40311b87bc828c9e3fc261582bcb82">s0_</a>(s0), f0f0_(SimTK::outer(f0_, f0_)), s0s0_(SimTK::outer(<a class="code" href="class_s_p_h_1_1_muscle.html#aac40311b87bc828c9e3fc261582bcb82">s0_</a>, <a class="code" href="class_s_p_h_1_1_muscle.html#aac40311b87bc828c9e3fc261582bcb82">s0_</a>)),</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;              <a class="code" href="class_s_p_h_1_1_muscle.html#ad2af528a9b76f4fd116b8170bee24619">f0s0_</a>(SimTK::outer(f0_, <a class="code" href="class_s_p_h_1_1_muscle.html#aac40311b87bc828c9e3fc261582bcb82">s0_</a>))</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        {</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;            material_type_name_ = <span class="stringliteral">&quot;Muscle&quot;</span>;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;            std::copy(a0, a0 + 4, a0_);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;            std::copy(b0, b0 + 4, <a class="code" href="class_s_p_h_1_1_muscle.html#abedb7df89412f9c9d397ebd922fbd571">b0_</a>);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        };</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="class_s_p_h_1_1_muscle.html">Muscle</a>(){};</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        <span class="keyword">virtual</span> Matd MuscleFiberDirection(<span class="keywordtype">size_t</span> particle_index_i) { <span class="keywordflow">return</span> f0f0_; };</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_muscle.html#aec7e4172e7e23e83a6df8e87f7f35341">StressPK2</a>(Matd &amp;deformation, <span class="keywordtype">size_t</span> particle_index_i) <span class="keyword">override</span>;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="keyword">virtual</span> Real <a class="code" href="class_s_p_h_1_1_muscle.html#a8efc45b40f644630e66944c308accedb">VolumetricKirchhoff</a>(Real J) <span class="keyword">override</span>;</div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_muscle.html#a424d722eed4763a890ea0248d0369427">  250</a></span>&#160;        <span class="keyword">virtual</span> std::string <a class="code" href="class_s_p_h_1_1_muscle.html#a424d722eed4763a890ea0248d0369427">getRelevantStressMeasureName</a>()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;Cauchy&quot;</span>; };</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_muscle.html#aac40311b87bc828c9e3fc261582bcb82">  252</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_muscle.html">Muscle</a> *ThisObjectPtr()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; };</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        Vecd f0_, <a class="code" href="class_s_p_h_1_1_muscle.html#aac40311b87bc828c9e3fc261582bcb82">s0_</a>;            </div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_muscle.html#ad2af528a9b76f4fd116b8170bee24619">  256</a></span>&#160;        Matd f0f0_, s0s0_, <a class="code" href="class_s_p_h_1_1_muscle.html#ad2af528a9b76f4fd116b8170bee24619">f0s0_</a>; </div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_muscle.html#abedb7df89412f9c9d397ebd922fbd571">  257</a></span>&#160;        Real a0_[4], <a class="code" href="class_s_p_h_1_1_muscle.html#abedb7df89412f9c9d397ebd922fbd571">b0_</a>[4];      </div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keyword">private</span>:</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        Real getPoissonRatio(Real bulk_modulus, <span class="keyword">const</span> Real (&amp;a0)[4], <span class="keyword">const</span> Real (&amp;b0)[4]);</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        Real getShearModulus(<span class="keyword">const</span> Real (&amp;a0)[4], <span class="keyword">const</span> Real (&amp;b0)[4]);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        Real <a class="code" href="class_s_p_h_1_1_linear_elastic_solid.html#ab28e6dc13d6c1652b787586c7b090afa">getYoungsModulus</a>(Real bulk_modulus, <span class="keyword">const</span> Real (&amp;a0)[4], <span class="keyword">const</span> Real (&amp;b0)[4]);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    };</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_locally_orthotropic_muscle.html">  273</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_locally_orthotropic_muscle.html">LocallyOrthotropicMuscle</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_muscle.html">Muscle</a></div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    {</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#ad30a69af1b0f80601982eba9e29d3d10">  276</a></span>&#160;        <a class="code" href="class_std_large_vec_3_01_matd_01_4.html">StdLargeVec&lt;Matd&gt;</a> local_f0f0_, local_s0s0_, <a class="code" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#ad30a69af1b0f80601982eba9e29d3d10">local_f0s0_</a>; </div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a80f9fdcb0a24632bc5b4653fb1622243">initializeFiberAndSheet</a>();</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        <span class="keywordtype">void</span> initializeFiberAndSheetTensors();</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a0d708d3647909b6f67229d4296d6a0ee">  283</a></span>&#160;        <a class="code" href="class_std_large_vec_3_01_vecd_01_4.html">StdLargeVec&lt;Vecd&gt;</a> <a class="code" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a0d708d3647909b6f67229d4296d6a0ee">local_f0_</a>; </div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a5f657cc0db49e5d0b87bee59910deca0">  284</a></span>&#160;        <a class="code" href="class_std_large_vec_3_01_vecd_01_4.html">StdLargeVec&lt;Vecd&gt;</a> <a class="code" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a5f657cc0db49e5d0b87bee59910deca0">local_s0_</a>; </div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        <span class="keyword">explicit</span> <a class="code" href="class_s_p_h_1_1_locally_orthotropic_muscle.html">LocallyOrthotropicMuscle</a>(Real rho0, Real bulk_modulus,</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;                        <span class="keyword">const</span> Vecd &amp;f0, <span class="keyword">const</span> Vecd &amp;s0, <span class="keyword">const</span> Real (&amp;a0)[4], <span class="keyword">const</span> Real (&amp;b0)[4])</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;            : <a class="code" href="class_s_p_h_1_1_muscle.html">Muscle</a>(rho0, bulk_modulus, f0, s0, a0, b0)</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        {</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;            material_type_name_ = <span class="stringliteral">&quot;LocallyOrthotropicMuscle&quot;</span>;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        };</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="class_s_p_h_1_1_locally_orthotropic_muscle.html">LocallyOrthotropicMuscle</a>(){};</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#ab7f8d334c08cd96958854ba6618e3d46">assignBaseParticles</a>(BaseParticles *base_particles) <span class="keyword">override</span>;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;        <span class="keyword">virtual</span> Matd MuscleFiberDirection(<span class="keywordtype">size_t</span> particle_index_i)<span class="keyword"> override </span>{ <span class="keywordflow">return</span> local_f0f0_[particle_index_i]; };</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        <span class="keyword">virtual</span> Matd <a class="code" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#abc0bdc85573672def97300a95154ddc6">StressPK2</a>(Matd&amp; deformation, <span class="keywordtype">size_t</span> particle_index_i) <span class="keyword">override</span>;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> readFromXmlForLocalParameters(<span class="keyword">const</span> std::string &amp;filefullpath) <span class="keyword">override</span>;</div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a253c0d4191392908a97497d417fac825">  300</a></span>&#160;        <span class="keyword">virtual</span> std::string <a class="code" href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a253c0d4191392908a97497d417fac825">getRelevantStressMeasureName</a>()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;Cauchy&quot;</span>; };</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    };</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;}</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor">#endif //ELASTIC_SOLID_H</span></div><div class="ttc" id="class_s_p_h_1_1_elastic_solid_html_a8f04c5c836faf23e84de387ef40f0bc0"><div class="ttname"><a href="class_s_p_h_1_1_elastic_solid.html#a8f04c5c836faf23e84de387ef40f0bc0">SPH::ElasticSolid::StressCauchy</a></div><div class="ttdeci">virtual Matd StressCauchy(Matd &amp;almansi_strain, Matd &amp;F, size_t particle_index_i)=0</div></div>
<div class="ttc" id="class_s_p_h_1_1_neo_hookean_solid_incompressible_html"><div class="ttname"><a href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html">SPH::NeoHookeanSolidIncompressible</a></div><div class="ttdoc">Neo-Hookean solid, Incompressible formulation! Currently only works with KirchhoffStressRelaxationFir...</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:154</div></div>
<div class="ttc" id="class_s_p_h_1_1_muscle_html"><div class="ttname"><a href="class_s_p_h_1_1_muscle.html">SPH::Muscle</a></div><div class="ttdoc">Globally orthotropic muscle. </div><div class="ttdef"><b>Definition:</b> elastic_solid.h:229</div></div>
<div class="ttc" id="class_std_large_vec_3_01_matd_01_4_html"><div class="ttname"><a href="class_std_large_vec_3_01_matd_01_4.html">StdLargeVec&lt; Matd &gt;</a></div></div>
<div class="ttc" id="class_s_p_h_1_1_muscle_html_a424d722eed4763a890ea0248d0369427"><div class="ttname"><a href="class_s_p_h_1_1_muscle.html#a424d722eed4763a890ea0248d0369427">SPH::Muscle::getRelevantStressMeasureName</a></div><div class="ttdeci">virtual std::string getRelevantStressMeasureName() override</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:250</div></div>
<div class="ttc" id="class_s_p_h_1_1_muscle_html_aac40311b87bc828c9e3fc261582bcb82"><div class="ttname"><a href="class_s_p_h_1_1_muscle.html#aac40311b87bc828c9e3fc261582bcb82">SPH::Muscle::s0_</a></div><div class="ttdeci">Vecd s0_</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:252</div></div>
<div class="ttc" id="class_s_p_h_1_1_elastic_solid_html_ad2d5f7349f50075fead558d3c0e8b997"><div class="ttname"><a href="class_s_p_h_1_1_elastic_solid.html#ad2d5f7349f50075fead558d3c0e8b997">SPH::ElasticSolid::PairNumericalDamping</a></div><div class="ttdeci">virtual Real PairNumericalDamping(Real dE_dt_ij, Real smoothing_length)</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:40</div></div>
<div class="ttc" id="class_s_p_h_1_1_neo_hookean_solid_incompressible_html_a1537ea6d714ce95ce6c56c41dbc5b2d7"><div class="ttname"><a href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html#a1537ea6d714ce95ce6c56c41dbc5b2d7">SPH::NeoHookeanSolidIncompressible::StressCauchy</a></div><div class="ttdeci">virtual Matd StressCauchy(Matd &amp;almansi_strain, Matd &amp;F, size_t particle_index_i) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:128</div></div>
<div class="ttc" id="class_s_p_h_1_1_locally_orthotropic_muscle_html_a5f657cc0db49e5d0b87bee59910deca0"><div class="ttname"><a href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a5f657cc0db49e5d0b87bee59910deca0">SPH::LocallyOrthotropicMuscle::local_s0_</a></div><div class="ttdeci">StdLargeVec&lt; Vecd &gt; local_s0_</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:284</div></div>
<div class="ttc" id="class_s_p_h_1_1_locally_orthotropic_muscle_html_ad30a69af1b0f80601982eba9e29d3d10"><div class="ttname"><a href="class_s_p_h_1_1_locally_orthotropic_muscle.html#ad30a69af1b0f80601982eba9e29d3d10">SPH::LocallyOrthotropicMuscle::local_f0s0_</a></div><div class="ttdeci">StdLargeVec&lt; Matd &gt; local_f0s0_</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:276</div></div>
<div class="ttc" id="class_s_p_h_1_1_elastic_solid_html_a0b3702e3b5e6c6e69030597dd8501005"><div class="ttname"><a href="class_s_p_h_1_1_elastic_solid.html#a0b3702e3b5e6c6e69030597dd8501005">SPH::ElasticSolid::VolumetricKirchhoff</a></div><div class="ttdeci">virtual Real VolumetricKirchhoff(Real J)=0</div></div>
<div class="ttc" id="class_s_p_h_1_1_fene_neo_hookean_solid_html_af0bb8ed4ef31171a84aa2e33217a9aab"><div class="ttname"><a href="class_s_p_h_1_1_fene_neo_hookean_solid.html#af0bb8ed4ef31171a84aa2e33217a9aab">SPH::FeneNeoHookeanSolid::getRelevantStressMeasureName</a></div><div class="ttdeci">virtual std::string getRelevantStressMeasureName() override</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:222</div></div>
<div class="ttc" id="class_s_p_h_1_1_solid_html"><div class="ttname"><a href="class_s_p_h_1_1_solid.html">SPH::Solid</a></div><div class="ttdoc">Base class of all solid materials. </div><div class="ttdef"><b>Definition:</b> base_material.h:113</div></div>
<div class="ttc" id="class_s_p_h_1_1_linear_elastic_solid_html"><div class="ttname"><a href="class_s_p_h_1_1_linear_elastic_solid.html">SPH::LinearElasticSolid</a></div><div class="ttdoc">Isotropic linear elastic solid. Note that only basic parameters are used to set ElasticSolid paramete...</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:101</div></div>
<div class="ttc" id="class_s_p_h_1_1_elastic_solid_html_aaa4e4e5f73ddbed1be4fa1c33698308f"><div class="ttname"><a href="class_s_p_h_1_1_elastic_solid.html#aaa4e4e5f73ddbed1be4fa1c33698308f">SPH::ElasticSolid::StressPK2</a></div><div class="ttdeci">virtual Matd StressPK2(Matd &amp;deformation, size_t particle_index_i)=0</div></div>
<div class="ttc" id="class_s_p_h_1_1_linear_elastic_solid_html_a87ebf2605db80b6a326a861684752726"><div class="ttname"><a href="class_s_p_h_1_1_linear_elastic_solid.html#a87ebf2605db80b6a326a861684752726">SPH::LinearElasticSolid::StressCauchy</a></div><div class="ttdeci">virtual Matd StressCauchy(Matd &amp;almansi_strain, Matd &amp;F, size_t particle_index_i) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:84</div></div>
<div class="ttc" id="class_s_p_h_1_1_linear_elastic_solid_html_a155f8eaf06fb45db1e0894a8493171da"><div class="ttname"><a href="class_s_p_h_1_1_linear_elastic_solid.html#a155f8eaf06fb45db1e0894a8493171da">SPH::LinearElasticSolid::StressPK2</a></div><div class="ttdeci">virtual Matd StressPK2(Matd &amp;deformation, size_t particle_index_i) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:78</div></div>
<div class="ttc" id="class_std_large_vec_3_01_vecd_01_4_html"><div class="ttname"><a href="class_std_large_vec_3_01_vecd_01_4.html">StdLargeVec&lt; Vecd &gt;</a></div></div>
<div class="ttc" id="class_s_p_h_1_1_muscle_html_a8efc45b40f644630e66944c308accedb"><div class="ttname"><a href="class_s_p_h_1_1_muscle.html#a8efc45b40f644630e66944c308accedb">SPH::Muscle::VolumetricKirchhoff</a></div><div class="ttdeci">virtual Real VolumetricKirchhoff(Real J) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:265</div></div>
<div class="ttc" id="class_s_p_h_1_1_muscle_html_aec7e4172e7e23e83a6df8e87f7f35341"><div class="ttname"><a href="class_s_p_h_1_1_muscle.html#aec7e4172e7e23e83a6df8e87f7f35341">SPH::Muscle::StressPK2</a></div><div class="ttdeci">virtual Matd StressPK2(Matd &amp;deformation, size_t particle_index_i) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:250</div></div>
<div class="ttc" id="class_s_p_h_1_1_elastic_solid_html_accb21f33e51daf04bcb3fd0c5fe3c01e"><div class="ttname"><a href="class_s_p_h_1_1_elastic_solid.html#accb21f33e51daf04bcb3fd0c5fe3c01e">SPH::ElasticSolid::NumericalDampingRightCauchy</a></div><div class="ttdeci">virtual Matd NumericalDampingRightCauchy(Matd &amp;deformation, Matd &amp;deformation_rate, Real smoothing_length, size_t particle_index_i)</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:24</div></div>
<div class="ttc" id="class_s_p_h_1_1_linear_elastic_solid_html_aa6cf7f21cb5f4843f6b737d7c48fa542"><div class="ttname"><a href="class_s_p_h_1_1_linear_elastic_solid.html#aa6cf7f21cb5f4843f6b737d7c48fa542">SPH::LinearElasticSolid::VolumetricKirchhoff</a></div><div class="ttdeci">virtual Real VolumetricKirchhoff(Real J) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:89</div></div>
<div class="ttc" id="class_s_p_h_1_1_fene_neo_hookean_solid_html_ac41ebc4d8aee29cef9289bdaf39c503c"><div class="ttname"><a href="class_s_p_h_1_1_fene_neo_hookean_solid.html#ac41ebc4d8aee29cef9289bdaf39c503c">SPH::FeneNeoHookeanSolid::StressPK2</a></div><div class="ttdeci">virtual Matd StressPK2(Matd &amp;deformation, size_t particle_index_i) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:221</div></div>
<div class="ttc" id="base__material_8h_html"><div class="ttname"><a href="base__material_8h.html">base_material.h</a></div><div class="ttdoc">This is the base classes of all materials. A function in a derived material class returns a value wit...</div></div>
<div class="ttc" id="class_s_p_h_1_1_elastic_solid_html_a8e4ba905d17f5a61f65bf6e92845d2dd"><div class="ttname"><a href="class_s_p_h_1_1_elastic_solid.html#a8e4ba905d17f5a61f65bf6e92845d2dd">SPH::ElasticSolid::DeviatoricKirchhoff</a></div><div class="ttdeci">virtual Matd DeviatoricKirchhoff(const Matd &amp;deviatoric_be)</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:45</div></div>
<div class="ttc" id="class_s_p_h_1_1_muscle_html_ad2af528a9b76f4fd116b8170bee24619"><div class="ttname"><a href="class_s_p_h_1_1_muscle.html#ad2af528a9b76f4fd116b8170bee24619">SPH::Muscle::f0s0_</a></div><div class="ttdeci">Matd f0s0_</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:256</div></div>
<div class="ttc" id="class_s_p_h_1_1_fene_neo_hookean_solid_html"><div class="ttname"><a href="class_s_p_h_1_1_fene_neo_hookean_solid.html">SPH::FeneNeoHookeanSolid</a></div><div class="ttdoc">Neo-Hookean solid with finite extension. </div><div class="ttdef"><b>Definition:</b> elastic_solid.h:209</div></div>
<div class="ttc" id="class_s_p_h_1_1_linear_elastic_solid_html_ab28e6dc13d6c1652b787586c7b090afa"><div class="ttname"><a href="class_s_p_h_1_1_linear_elastic_solid.html#ab28e6dc13d6c1652b787586c7b090afa">SPH::LinearElasticSolid::getYoungsModulus</a></div><div class="ttdeci">Real getYoungsModulus()</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:115</div></div>
<div class="ttc" id="class_s_p_h_1_1_linear_elastic_solid_html_a5d703f84faaf935522bc7b24e5c21d20"><div class="ttname"><a href="class_s_p_h_1_1_linear_elastic_solid.html#a5d703f84faaf935522bc7b24e5c21d20">SPH::LinearElasticSolid::getRelevantStressMeasureName</a></div><div class="ttdeci">virtual std::string getRelevantStressMeasureName() override</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:112</div></div>
<div class="ttc" id="class_s_p_h_1_1_fene_neo_hookean_solid_html_a83218f7184a423dfbb4e537a67f1bcb2"><div class="ttname"><a href="class_s_p_h_1_1_fene_neo_hookean_solid.html#a83218f7184a423dfbb4e537a67f1bcb2">SPH::FeneNeoHookeanSolid::j1_m_</a></div><div class="ttdeci">Real j1_m_</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:212</div></div>
<div class="ttc" id="class_s_p_h_1_1_elastic_solid_html_ae23c322f4b5f4af0538d8b77d99202e8"><div class="ttname"><a href="class_s_p_h_1_1_elastic_solid.html#ae23c322f4b5f4af0538d8b77d99202e8">SPH::ElasticSolid::NumericalDampingLeftCauchy</a></div><div class="ttdeci">virtual Matd NumericalDampingLeftCauchy(Matd &amp;deformation, Matd &amp;deformation_rate, Real smoothing_length, size_t particle_index_i)</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:32</div></div>
<div class="ttc" id="class_s_p_h_1_1_neo_hookean_solid_html_a291009e636aa6d3776c252d1ccda8d86"><div class="ttname"><a href="class_s_p_h_1_1_neo_hookean_solid.html#a291009e636aa6d3776c252d1ccda8d86">SPH::NeoHookeanSolid::VolumetricKirchhoff</a></div><div class="ttdeci">virtual Real VolumetricKirchhoff(Real J) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:114</div></div>
<div class="ttc" id="class_s_p_h_1_1_elastic_solid_html"><div class="ttname"><a href="class_s_p_h_1_1_elastic_solid.html">SPH::ElasticSolid</a></div><div class="ttdoc">Abstract class for a generalized elastic solid. </div><div class="ttdef"><b>Definition:</b> elastic_solid.h:44</div></div>
<div class="ttc" id="class_s_p_h_1_1_locally_orthotropic_muscle_html_a80f9fdcb0a24632bc5b4653fb1622243"><div class="ttname"><a href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a80f9fdcb0a24632bc5b4653fb1622243">SPH::LocallyOrthotropicMuscle::initializeFiberAndSheet</a></div><div class="ttdeci">virtual void initializeFiberAndSheet()</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:291</div></div>
<div class="ttc" id="class_s_p_h_1_1_orthotropic_solid_html_a3f966760dbe1a863ac1f1ddf5e17b38d"><div class="ttname"><a href="class_s_p_h_1_1_orthotropic_solid.html#a3f966760dbe1a863ac1f1ddf5e17b38d">SPH::OrthotropicSolid::StressPK2</a></div><div class="ttdeci">virtual Matd StressPK2(Matd &amp;deformation, size_t particle_index_i) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:155</div></div>
<div class="ttc" id="class_s_p_h_1_1_neo_hookean_solid_html_a9d5e9bc2b0df36e209c7b302f16fa364"><div class="ttname"><a href="class_s_p_h_1_1_neo_hookean_solid.html#a9d5e9bc2b0df36e209c7b302f16fa364">SPH::NeoHookeanSolid::StressPK2</a></div><div class="ttdeci">virtual Matd StressPK2(Matd &amp;deformation, size_t particle_index_i) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:94</div></div>
<div class="ttc" id="class_s_p_h_1_1_neo_hookean_solid_incompressible_html_a65d214acc136eaef9b51233b60b5da1c"><div class="ttname"><a href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html#a65d214acc136eaef9b51233b60b5da1c">SPH::NeoHookeanSolidIncompressible::StressPK2</a></div><div class="ttdeci">virtual Matd StressPK2(Matd &amp;deformation, size_t particle_index_i) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:119</div></div>
<div class="ttc" id="class_s_p_h_1_1_locally_orthotropic_muscle_html_a253c0d4191392908a97497d417fac825"><div class="ttname"><a href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a253c0d4191392908a97497d417fac825">SPH::LocallyOrthotropicMuscle::getRelevantStressMeasureName</a></div><div class="ttdeci">virtual std::string getRelevantStressMeasureName() override</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:300</div></div>
<div class="ttc" id="class_s_p_h_1_1_neo_hookean_solid_html"><div class="ttname"><a href="class_s_p_h_1_1_neo_hookean_solid.html">SPH::NeoHookeanSolid</a></div><div class="ttdoc">Neo-Hookean solid, Compressible formulation! </div><div class="ttdef"><b>Definition:</b> elastic_solid.h:130</div></div>
<div class="ttc" id="class_s_p_h_1_1_neo_hookean_solid_incompressible_html_ace90e7a92223b6b94619049cae838a64"><div class="ttname"><a href="class_s_p_h_1_1_neo_hookean_solid_incompressible.html#ace90e7a92223b6b94619049cae838a64">SPH::NeoHookeanSolidIncompressible::VolumetricKirchhoff</a></div><div class="ttdeci">virtual Real VolumetricKirchhoff(Real J) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:134</div></div>
<div class="ttc" id="class_s_p_h_1_1_locally_orthotropic_muscle_html"><div class="ttname"><a href="class_s_p_h_1_1_locally_orthotropic_muscle.html">SPH::LocallyOrthotropicMuscle</a></div><div class="ttdoc">muscle model is a anisotropic material in which there are local fiber direction and cross-fiber sheet...</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:273</div></div>
<div class="ttc" id="class_s_p_h_1_1_elastic_solid_html_ab9db331578b68a426d90859a5368d938"><div class="ttname"><a href="class_s_p_h_1_1_elastic_solid.html#ab9db331578b68a426d90859a5368d938">SPH::ElasticSolid::getRelevantStressMeasureName</a></div><div class="ttdeci">virtual std::string getRelevantStressMeasureName()=0</div></div>
<div class="ttc" id="class_s_p_h_1_1_neo_hookean_solid_html_a79f6f9a8048d4c5a13876337664970c7"><div class="ttname"><a href="class_s_p_h_1_1_neo_hookean_solid.html#a79f6f9a8048d4c5a13876337664970c7">SPH::NeoHookeanSolid::getRelevantStressMeasureName</a></div><div class="ttdeci">virtual std::string getRelevantStressMeasureName() override</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:146</div></div>
<div class="ttc" id="class_s_p_h_1_1_neo_hookean_solid_html_abea63eda5de6ca5223c718fd595d06c5"><div class="ttname"><a href="class_s_p_h_1_1_neo_hookean_solid.html#abea63eda5de6ca5223c718fd595d06c5">SPH::NeoHookeanSolid::StressCauchy</a></div><div class="ttdeci">virtual Matd StressCauchy(Matd &amp;almansi_strain, Matd &amp;F, size_t particle_index_i) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:104</div></div>
<div class="ttc" id="class_s_p_h_1_1_orthotropic_solid_html_a2c752c5df2227b5b34c595dbe576408d"><div class="ttname"><a href="class_s_p_h_1_1_orthotropic_solid.html#a2c752c5df2227b5b34c595dbe576408d">SPH::OrthotropicSolid::VolumetricKirchhoff</a></div><div class="ttdeci">virtual Real VolumetricKirchhoff(Real J) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:174</div></div>
<div class="ttc" id="class_s_p_h_1_1_orthotropic_solid_html"><div class="ttname"><a href="class_s_p_h_1_1_orthotropic_solid.html">SPH::OrthotropicSolid</a></div><div class="ttdoc">Orthotropic solid - generic definition with 3 orthogonal directions + 9 independent parameters...</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:179</div></div>
<div class="ttc" id="class_s_p_h_1_1_locally_orthotropic_muscle_html_abc0bdc85573672def97300a95154ddc6"><div class="ttname"><a href="class_s_p_h_1_1_locally_orthotropic_muscle.html#abc0bdc85573672def97300a95154ddc6">SPH::LocallyOrthotropicMuscle::StressPK2</a></div><div class="ttdeci">virtual Matd StressPK2(Matd &amp;deformation, size_t particle_index_i) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:270</div></div>
<div class="ttc" id="class_s_p_h_1_1_muscle_html_abedb7df89412f9c9d397ebd922fbd571"><div class="ttname"><a href="class_s_p_h_1_1_muscle.html#abedb7df89412f9c9d397ebd922fbd571">SPH::Muscle::b0_</a></div><div class="ttdeci">Real b0_[4]</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:257</div></div>
<div class="ttc" id="class_s_p_h_1_1_locally_orthotropic_muscle_html_ab7f8d334c08cd96958854ba6618e3d46"><div class="ttname"><a href="class_s_p_h_1_1_locally_orthotropic_muscle.html#ab7f8d334c08cd96958854ba6618e3d46">SPH::LocallyOrthotropicMuscle::assignBaseParticles</a></div><div class="ttdeci">virtual void assignBaseParticles(BaseParticles *base_particles) override</div><div class="ttdef"><b>Definition:</b> elastic_solid.cpp:285</div></div>
<div class="ttc" id="namespace_s_p_h_html"><div class="ttname"><a href="namespace_s_p_h.html">SPH</a></div><div class="ttdef"><b>Definition:</b> solid_body_supplementary.cpp:9</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_material_html_ab44c8bc85d7ee057c68acf3584035a7e"><div class="ttname"><a href="class_s_p_h_1_1_base_material.html#ab44c8bc85d7ee057c68acf3584035a7e">SPH::BaseMaterial::rho0_</a></div><div class="ttdeci">Real rho0_</div><div class="ttdef"><b>Definition:</b> base_material.h:57</div></div>
<div class="ttc" id="class_s_p_h_1_1_locally_orthotropic_muscle_html_a0d708d3647909b6f67229d4296d6a0ee"><div class="ttname"><a href="class_s_p_h_1_1_locally_orthotropic_muscle.html#a0d708d3647909b6f67229d4296d6a0ee">SPH::LocallyOrthotropicMuscle::local_f0_</a></div><div class="ttdeci">StdLargeVec&lt; Vecd &gt; local_f0_</div><div class="ttdef"><b>Definition:</b> elastic_solid.h:283</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
